package com.fowo.api.model.multiplatform.profit.report;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.fowo.api.common.validator.EnumsString;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/** 多平台利润报表 导入导出辅助模型 */
@Getter
@Setter
public class MultiplatformProfitReportExcelPo {

  @Size(max = 50, message = "父级长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "父级")
  private String parentId;

  @Size(max = 50, message = "类型id长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "类型id")
  private String cid;

  @Size(max = 50, message = "品牌id长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "品牌id")
  private String bid;

  @Size(max = 50, message = "类型长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "类型")
  private String classification;

  @Size(max = 50, message = "品牌长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "品牌")
  private String brand;

  @Size(max = 50, message = "币种长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "币种")
  private String currency;

  @Size(max = 50, message = "币种符号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "币种符号")
  private String currencyCoin;

  @Size(max = 50, message = "发货日期长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "发货日期")
  private String deliveryDate;

  @Size(max = 50, message = "销量长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "销量")
  private String salesNum;

  @Size(max = 50, message = "补货量长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "补货量")
  private String replenishmentNum;

  @Size(max = 50, message = "销售额长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "销售额")
  private String salesAmount;

  @Size(max = 50, message = "买家运费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "买家运费")
  private String buyerFreight;

  @Size(max = 50, message = "其他收入长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "其他收入")
  private String otherIncome;

  @Size(max = 50, message = "收入退款额长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "收入退款额")
  private String incomeReturn;

  @Size(max = 50, message = "费用退款额长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "费用退款额")
  private String costrefund;

  @Size(max = 50, message = "退款量长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "退款量")
  private String refundnum;

  @Size(max = 50, message = "退款率长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "退款率")
  private String refundrate;

  @Size(max = 50, message = "退货量长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "退货量")
  private String salesreturnnum;

  @Size(max = 50, message = "退货率长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "退货率")
  private String salesreturnrate;

  @Size(max = 50, message = "平台费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "平台费")
  private String platformfee;

  @Size(max = 50, message = "促销折扣费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "促销折扣费")
  private String discountfee;

  @Size(max = 50, message = "广告费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "广告费")
  private String adfee;

  @Size(max = 50, message = "调整费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "调整费")
  private String adjustmentfee;

  @Size(max = 50, message = "wfs调整费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "wfs调整费")
  private String wfsadjustmentfee;

  @Size(max = 50, message = "ebay调整费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "ebay调整费")
  private String ebayadjustmentfee;

  @Size(max = 50, message = "aliexpress调整费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "aliexpress调整费")
  private String aliexpressadjustmentfee;

  @Size(max = 50, message = "平台物流费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "平台物流费")
  private String platformtransferfee;

  @Size(max = 50, message = "wfs发货费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "wfs发货费")
  private String wfsshipmentfee;

  @Size(max = 50, message = "wfs退货运费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "wfs退货运费")
  private String wfsreturntransferfee;

  @Size(max = 50, message = "walmart退货服务费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "walmart退货服务费")
  private String walmartreturnservicefee;

  @Size(max = 50, message = "平台仓储费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "平台仓储费")
  private String platformstoragefee;

  @Size(max = 50, message = "wfs仓储费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "wfs仓储费")
  private String wfsstoragefee;

  @Size(max = 50, message = "wfs移除费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "wfs移除费")
  private String wfsremovefee;

  @Size(max = 50, message = "平台其他费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "平台其他费")
  private String platformotherfee;

  @Size(max = 50, message = "其他费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "其他费")
  private String otherfee;

  @Size(max = 50, message = "ebay刊登费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "ebay刊登费")
  private String ebaypublishfee;

  @Size(max = 50, message = "ebay订阅费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "ebay订阅费")
  private String ebaysubscriptionfee;

  @Size(max = 50, message = "销售税长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "销售税")
  private String salestax;

  @Size(max = 50, message = "商品税后金额长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品税后金额")
  private String goodsamountaftertax;

  @Size(max = 50, message = "市场税长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "市场税")
  private String markettax;

  @Size(max = 50, message = "商品其他费用长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品其他费用")
  private String goodsotherfee;

  @Size(max = 50, message = "店铺其他费用长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "店铺其他费用")
  private String storeotherfee;

  @Size(max = 50, message = "订单其他费用长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "订单其他费用")
  private String orderotherfee;

  @Size(max = 50, message = "采购成本长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "采购成本")
  private String purchasecost;

  @Size(max = 50, message = "售出订单采购成本长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "售出订单采购成本")
  private String salesorderpurchasecost;

  @Size(max = 50, message = "退货订单采购成本长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "退货订单采购成本")
  private String returnorderpurchasecost;

  @Size(max = 50, message = "头程成本长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "头程成本")
  private String firstletcost;

  @Size(max = 50, message = "售出订单头程成本长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "售出订单头程成本")
  private String salesorderfirstletcost;

  @Size(max = 50, message = "退货订单头程成本长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "退货订单头程成本")
  private String returnorderfirstletcost;

  @Size(max = 50, message = "尾程成本长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "尾程成本")
  private String tailcost;

  @Size(max = 50, message = "其他成本长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "其他成本")
  private String othercost;

  @Size(max = 50, message = "售出订单其他成本长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "售出订单其他成本")
  private String salesorderothercost;

  @Size(max = 50, message = "退货订单其他成本长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "退货订单其他成本")
  private String returnorderothercost;

  @Size(max = 50, message = "毛利润长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "毛利润")
  private String grossprofit;

  @Size(max = 50, message = "毛利率长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "毛利率")
  private String grossprofitrate;

  @Size(max = 50, message = "店铺id长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "店铺id")
  private String storeidlist;

  @Size(max = 50, message = "平台code长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "平台code")
  private String platformcodelist;

  @Size(max = 50, message = "MSKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "MSKU")
  private String mskulist;

  @Size(max = 50, message = "本地SKU信息长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "本地SKU信息")
  private String localnamelist;

  @Size(max = 50, message = "SKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "SKU")
  private String sku;

  @Size(max = 50, message = "品名长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "品名")
  private String productname;

  @EnumsString(
    value = { "0", "1", "2" },
    message = "推送状态的可用值为 “0”, “1”, “2” 其中之一"
  )
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "推送状态")
  private String pushstate;

  @Size(max = 50, message = "推送结果长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "推送结果")
  private String result;
}
